Day 4 수학, 배열
Day4 4단계 20231021
- 수학적 메커니즘
- n명이 x개로 나뉘어진 피자 조각을 최소 1개 이상 먹기 위해 필요한 최소 피자 판의 수
- n/x를 하면 x가 n의 약수가 아닌 이상 나머지가 0~(x-1)까지만 나온다
- 따라서 최소 판의 수를 (n+(x-1))/x로 구할 수 있다
- 또는 n%x==0 가 참일 때 n/x을, 거짓일 때 n/x+1로도 가능하다.
1. 피자 나눠 먹기 (1)
class Solution {
public int solution(int n) {
int answer = 0;
if (n < 7) {
answer = 1;
} else {
if (n % 7 == 0) {
answer = n / 7;
} else {
answer = n / 7 + 1;
}
}
return answer;
}
}
2. 피자 나눠 먹기 (2)
class Solution {
public int solution(int n) {
int pizza = 1;
while(true) {
if((n * pizza)%6 == 0) {
return (n * pizza) / 6;
} else {
pizza++;
}
}
}
}
3. 피자 나눠 먹기 (3)
class Solution {
public int solution(int slice, int n) {
return (n%slice == 0) ? n/slice : (n+(slice-1))/slice;
}
}
4. 배열의 평균값
class Solution {
public double solution(int[] numbers) {
int sum = 0;
for(int i : numbers) {
sum += i;
}
return (double)sum/numbers.length;
}
}